﻿#include<iostream>
#include<map>
#include<list>

using namespace std;

class a
{
public:
    int x;
    int y;
    a(int x,int y)
    {
        this->x=x;
        this->y=y;
    }
};

int main()
{
    map<int,a*> m1;
    for(int i=1;i<=5;i++)
        m1.insert(make_pair(i,new a(i,i)));
    //m1[i]=new a(i,i);//利用[]插入
    //m1.insert({i,new a(i,i)});//必须要用{}
    // auto it=m1.find(3);
    //first表示键部分，second表示值部分
    //    for(auto it=m1.begin();it!=m1.end();it++)
    //    cout<<it->first<<" "<<it->second->x<<" "<<it->second->y<<endl;
    for(auto val:m1)
        cout<<val.first<<" "<<val.second->x<<" "<<val.second->y<<endl;
    m1.erase(3);
    m1[2]=new a(100,100);//如果键已经存在，则更新数据，不存在则插入数据
    for(auto val:m1)
        cout<<val.first<<" "<<val.second->x<<" "<<val.second->y<<endl;

}
